package com.ruoyi.factory.matecount.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 物料销售数据对象 t_material_bom
 * 
 * @author ruoyi
 * @date 2024-03-13
 */
public class MaterialBom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 类型编码0-原料,1-产品,2-半成品 */
//    @Excel(name = "类型编码0-原料,1-产品,2-半成品")
    private String type;

    /** erp物料名称 */
    @Excel(name = "物料名称")
    private String erpName;

    /** 物料名称 */
    @Excel(name = "规格")
    private String chinaName;

    /** 物料编码 */
    @Excel(name = "物料编码")
    private String partId;

    /** 物料类型 0-复合剂, 1-单剂 */
    @Excel(name = "物料类型", dictType = "mate_type")
    private String mateType;

    @Excel(name = "单位")
    private String unit;

    /** 数量 */
    @Excel(name = "数量")
    private BigDecimal counts;

    /** 期间时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "期间", width = 30, dateFormat = "yyyy-MM")
    private Date periodDate;

    /** 数量类型 0-消耗数量 1-销售数量 */
//    @Excel(name = "数量类型 0-消耗数量 1-销售数量")
    private String numType;

    /** 消耗数量 */
//    @Excel(name = "消耗数量")
    private BigDecimal mateNum;

    /** 销售数量 */
//    @Excel(name = "销售数量")
    private BigDecimal proNum;

    /** 合计数量 */
//    @Excel(name = "合计数量")
    private BigDecimal totalNum;

    /** 别名 */
//    @Excel(name = "别名")
    private String asName;

    /** bom名称 */
//    @Excel(name = "bom名称")
    private String bomName;

    /** bom版本 */
//    @Excel(name = "bom版本")
    private String bomVar;

    /** 父项编码 */
//    @Excel(name = "父项编码")
    private String parentId;

    /** 父项目版本 */
//    @Excel(name = "父项目版本")
    private String fatherPartvar;

    /** 期间 */
//    @Excel(name = "期间")
    private String month;

    /** 层次号 */
//    @Excel(name = "层次号")
    private String assembLelevel;

    /** 物料版本 */
//    @Excel(name = "物料版本")
    private String partVar;

    /** 年度 */
//    @Excel(name = "年度")
    private String year;

    /** 备注 */
    @Excel(name = "备注")
    private String marks;

    /** 基期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "基期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date partDate;

    /** root值 */
//    @Excel(name = "root值")
    private String rootCode;

    /** 序列号 */
//    @Excel(name = "序列号")
    private String seqnum;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setChinaName(String chinaName) 
    {
        this.chinaName = chinaName;
    }

    public String getChinaName() 
    {
        return chinaName;
    }
    public void setPeriodDate(Date periodDate) 
    {
        this.periodDate = periodDate;
    }

    public Date getPeriodDate() 
    {
        return periodDate;
    }
    public void setMateType(String mateType) 
    {
        this.mateType = mateType;
    }

    public String getMateType() 
    {
        return mateType;
    }
    public void setNumType(String numType) 
    {
        this.numType = numType;
    }

    public String getNumType() 
    {
        return numType;
    }
    public void setMateNum(BigDecimal mateNum) 
    {
        this.mateNum = mateNum;
    }

    public BigDecimal getMateNum() 
    {
        return mateNum;
    }
    public void setProNum(BigDecimal proNum) 
    {
        this.proNum = proNum;
    }

    public BigDecimal getProNum() 
    {
        return proNum;
    }
    public void setTotalNum(BigDecimal totalNum) 
    {
        this.totalNum = totalNum;
    }

    public BigDecimal getTotalNum() 
    {
        return totalNum;
    }
    public void setErpName(String erpName) 
    {
        this.erpName = erpName;
    }

    public String getErpName() 
    {
        return erpName;
    }
    public void setAsName(String asName) 
    {
        this.asName = asName;
    }

    public String getAsName() 
    {
        return asName;
    }
    public void setBomName(String bomName) 
    {
        this.bomName = bomName;
    }

    public String getBomName() 
    {
        return bomName;
    }
    public void setBomVar(String bomVar) 
    {
        this.bomVar = bomVar;
    }

    public String getBomVar() 
    {
        return bomVar;
    }
    public void setParentId(String parentId) 
    {
        this.parentId = parentId;
    }

    public String getParentId() 
    {
        return parentId;
    }
    public void setFatherPartvar(String fatherPartvar) 
    {
        this.fatherPartvar = fatherPartvar;
    }

    public String getFatherPartvar() 
    {
        return fatherPartvar;
    }
    public void setPartId(String partId) 
    {
        this.partId = partId;
    }

    public String getPartId() 
    {
        return partId;
    }
    public void setMonth(String month) 
    {
        this.month = month;
    }

    public String getMonth() 
    {
        return month;
    }
    public void setAssembLelevel(String assembLelevel) 
    {
        this.assembLelevel = assembLelevel;
    }

    public String getAssembLelevel() 
    {
        return assembLelevel;
    }
    public void setPartVar(String partVar) 
    {
        this.partVar = partVar;
    }

    public String getPartVar() 
    {
        return partVar;
    }
    public void setCounts(BigDecimal counts)
    {
        this.counts = counts;
    }

    public BigDecimal getCounts()
    {
        return counts;
    }
    public void setYear(String year) 
    {
        this.year = year;
    }

    public String getYear() 
    {
        return year;
    }
    public void setMarks(String marks) 
    {
        this.marks = marks;
    }

    public String getMarks() 
    {
        return marks;
    }
    public void setPartDate(Date partDate) 
    {
        this.partDate = partDate;
    }

    public Date getPartDate() 
    {
        return partDate;
    }
    public void setRootCode(String rootCode) 
    {
        this.rootCode = rootCode;
    }

    public String getRootCode() 
    {
        return rootCode;
    }
    public void setSeqnum(String seqnum) 
    {
        this.seqnum = seqnum;
    }

    public String getSeqnum() 
    {
        return seqnum;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("type", getType())
            .append("chinaName", getChinaName())
            .append("periodDate", getPeriodDate())
            .append("mateType", getMateType())
            .append("numType", getNumType())
            .append("mateNum", getMateNum())
            .append("proNum", getProNum())
            .append("totalNum", getTotalNum())
            .append("erpName", getErpName())
            .append("asName", getAsName())
            .append("bomName", getBomName())
            .append("bomVar", getBomVar())
            .append("parentId", getParentId())
            .append("fatherPartvar", getFatherPartvar())
            .append("partId", getPartId())
            .append("month", getMonth())
            .append("assembLelevel", getAssembLelevel())
            .append("partVar", getPartVar())
            .append("counts", getCounts())
            .append("year", getYear())
            .append("marks", getMarks())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("partDate", getPartDate())
            .append("rootCode", getRootCode())
            .append("seqnum", getSeqnum())
            .append("unit", getUnit())
            .toString();
    }
}
